package com.way.demo.comm;

/**
 * @author lipingwei
 * @create 2021-01-21 19:48
 */
public enum  ErrorEnum {
    /* 公共异常 start */
    RESERRORCODE("-1", "系统开小差了，请稍后再试试吧~~"),
    RESSUCCESSCODE("0", "成功"),
    COMMON("000", "公共"),
    // 稍后重试
    COMMON_UNKNOW_ERROR("00001", "系统开小差了，请稍后再试试吧~~"),
    // 对照接口文档检查报文的参数（具体错误由validator注解通过GlobalExceptionHandler.methodArgumentNotValidException返回）
    COMMON_WRONG_PARAM("00002", null),
    // 对照接口文档检查header中的请求参数（具体错误由业务点给出）
    COMMON_WRONG_HEADER("00003", "header中缺失参数"),
    // 渠道请求时，校验签名失败
    COMMON_WRONG_SIGN("00004", "验签失败"),
    // 产品已停售，请确定产品编码是否正确
    COMMON_PRODUCT_STOP_SALE("00005", "该产品已停售"),
    // 未经过正常流程调用接口
    COMMON_ORDER_ILLEGALITY("00006", "操作非法"),
    // 该用户该产品保单数量已到上限
    COMMON_POLICY_NUM_MAX("00007", "该用户该产品保单数量已到上限"),
    // 渠道传入时间跟平台时间相差十分钟，请核实
    COMMON_TIME_ERROR("00008", "渠道传入时间跟平台时间不一致"),
    // 订单已存在，请更换订单号重试
    COMMON_ORDER_EXIST("00009", "订单已存在"),
    // 正在处理中，请稍后再试
    COMMON_PROCESSING("00010","正在处理中"),
    // 验证码发送超过了限定的次数
    SENDCODE_EXCEED("00011", "验证码发送超过了限定的次数，确认短信是否被屏蔽，可明日再次操作"),
    // 您的操作过于频繁
    SENDCODE_FREQUENCY("00012", "您的操作过于频繁，请稍后再试试吧"),
    // 验证码错误
    CODE_ERROR("00013", "验证码错误"),
    // 操作过于频繁
    CODE_ERROR_FREQUENCY("00014", "您的操作过于频繁，请稍后再试试吧"),
    // 未查询到保单信息
    COMMON_NO_POLICY("00015", "未查询到保单信息"),
    //渠道产品销售数量到达上限
    COMMON_PRODUCT_CHANNEL_NUM_MAX("00016", "该产品在该渠道销售数量已到上限"),
    // token过期
    COMMON_TOKEN_OVERDUE("00017", "TOKEN过期"),
    // 无效的订单号
    COMMON_ORDER_NOT_EXIST("000018", "订单不存在"),
    // 撤单失败
    COMMON_CANCEL_FAIL("000019", "撤单失败"),
    /* 公共异常 end */

    /* 核保异常 start */
    CHECK("001", "核保"),
    // 请勿重复请求
    CHECK_ORDER_HAS_DONE("00101","订单已完成"),
    // 核保校验不通过（具体不通过信息通过业务点给出）
    CHECK_ENGINE_NOT_PASS("00102", "核保检验不通过"),
    // 保费不正确
    PREMIUM_ERROR("00103", "保费校验不通过"),
    // 保额不正确
    AMOUNT_ERROR("00104", "保额校验不通过"),
    // 无效的代理人信息
    AGENT_CODE_ERROR("00105", "无效的代理人信息"),
    /* 核保异常 end */

    /* 承保异常 start */
    PLACE("002", "承保"),
    PLACE_POLICY_NOT_UNDERWRITE("00201", "该保单未承保"),

    /* 承保异常 end */

    /* 退保异常 start */
    REFUND("003", "退保"),
    REFUND_POLICY_INVALID("00301", "该保单已失效"),
    REFUND_POLICY_REFUNDING("00302", "该保单退费中"),
    REFUND_POLICY_SUCCESS("00303", "该保单退费成功"),
    REFUND_HAS_DONE("00304", "退保已完成"),
    REFUND_FAIL("00305", "退保失败"),
    /* 退保异常 end */

    /*支付异常 start*/
    PAY("004", "支付"),
    // 订单已支付
    PAY_DONT_REPAY("00401", "请勿重复支付"),
    // 支付失败，失败结果由具体业务点给出
    PAY_ORDER_PAY_FAIL("00402", "支付失败"),
    // 支付中，银联为返回明确支付结果
    PAY_ORDER_PAY_ING("00403", "订单支付中"),
    /*支付异常 end*/

    /*鉴权|签约 start*/
    AUTH("005", "鉴权/签约"),
    // 鉴权失败，失败原因由具体业务点给出
    AUTH_FAIL("00501", "鉴权失败"),
    // 验证码输入有误
    SMS_VERIFY_FAIL("00502", "签约验证码校验失败"),
    // 传入的流水号不存在
    TRANS_SERIAL_NO_NULL("00503", "流水号不存在"),
    BANK_NO_ERROR("00504","银行卡号输入有误"),
    /*鉴权|签约 end*/

    /*保全 start*/
    PRESERVE("006", "保全"),
    // 保单不存在，请核实保单号是否准确
    PRESERVE_NO_POLICY("00601", "保单不存在"),
    //  已存在未完成的保全业务，请核实后再试
    PRESERVE_LOCK_FAIL("00602", "抱歉，本保单处于业务办理中，请稍后再试。"),
    //  贷款金额不正确，请确认后重试
    PRESERVE_LOAN_AMOUNT_ERROR("00603", "贷款额度不足"),
    //  犹豫期内不允许贷款
    PRESERVE_LOAN_NOT_ALLOW("00604", "犹豫期内不允许贷款"),
    //  未推资产文件，资产核对中
    SAVE_OPERATE_NOT_ALLOW("00605", "资产核对中，请稍后再试。"),
    //  已存在未完成的保全业务，请核实后再退保
    PRESERVE_REFUND_LOCK_FAIL("00606", "抱歉，本保单处于业务办理中，暂时不可退保，请改日再试。"),
    /*保全 end*/

    /* 风控 start */
    VENTURE("007", "风控"),
    // 风控结果不通过，不通过原因由业务点给出
    VENTURE_NO_PASS("00701", "非常抱歉，您本次投保申请被系统抽检抽中，请咨询服务人员，按照体检程序购买。谢谢！"),
    // 证件号码有误
    VENTURE_IDNO_ERROR("00702", "证件号码有误"),
    /* 风控 end */


    ;

//===============================================////

    private String errorCode;

    private String errorMsg;

    ErrorEnum(String errorCode, String errorMsg) {
        this.errorCode = errorCode;
    }

    public String getErrorCode() {
        return errorCode;
    }



    public String getErrorMsg() {
        return errorMsg;
    }


}
